Zum Hauptinhalt springen

Teams-Nachricht senden

Anforderung

Wenn nach einem erfolgreich angenommenen Anruf automatisch eine Nachricht in einem Teams-Kanal gepostet wird, kann die weitere Bearbeitung in Teams besser koordiniert werden.

In diesem Beispiel wird nach einem erfolgreichen eingehenden Anruf auf eine bestimmte Rufnummer automatisch eine Nachricht in einen Microsoft-Teams-Kanal gepostet. Die Nachricht beginnt dabei mit: Anruf von {{callerName}}.

Vorbereitung in Microsoft Teams

Erstellen Sie im gewünschten Teams-Kanal zunächst einen Workflow, der Webhook-Anfragen empfangen darf. Öffnen Sie dazu im Kanal das Menü ..., wählen Sie Workflows und verwenden Sie entweder die Vorlage Webhookwarnungen an einen Kanal senden oder erstellen Sie einen Workflow von Grund auf mit dem Trigger Beim Empfang einer Teams-Webhookanforderung.

Nach dem Speichern erhalten Sie eine Webhook-URL, die anschließend in der EventBridge als Ziel-URL verwendet wird.

EventBridge Konfiguration

Wechseln Sie innerhalb der EventBridge Modulkonfiguration auf den Tab und aktivieren dort den Schalter . Im darunter befindlichen Bereich werden anschließend live alle Ereignisse aufgelistet, die von der STARFACE ausgelöst bzw. verarbeitet werden.

Suchen Sie hier das für Ihren Anwendungsfall relevante bzw. passende Event.

Über die Schaltfläche kann das Event direkt in die Event Handling Konfiguration übernommen werden.

Das Event

Bei erfolgreichen Anrufen entstehen ebenfalls Ruflisteneinträge, auf die mit der EventBridge reagiert werden kann. Das relevante Event ist das NewCallListEntryEvent mit "result": "ANSWERED".

Die gewünschte Zielrufnummer wird in der Regel über calledNumber identifiziert. Der Anrufername steht in callDescription, die Rufnummer des Anrufers in callerNumber.

Beispiel: de.starface.bo.events.NewCallListEntryEvent
{
"accountId": 5470,
"requesterAccountId": 5470,
"callListEntry": {
"id": "161258",
"calledNumber": "12345", // Rufnummer, auf die reagiert werden soll
"callerNumber": "+497112345678", // Rufnummer des Anrufers
"callDescription": "Max Mustermann", // Name in der Rufliste
"startTime": 1768202654880,
"duration": 183,
"direction": "INBOUND",
"result": "ANSWERED",
"voicemailId": "",
"answeredBy": "max.mustermann",
"groupId": "5470",
"callerJabberId": "max.mustermann@example.com",
"callPartnerAccountId": "4508",
"calledBack": false
},
"accountIdsOfUsers": [
4508,
5470
]
}

Der passende Event-Handler

Die entsprechende Konfiguration des Event-Handlers sieht wie folgt aus:

  1. Event: de.starface.bo.events.NewCallListEntryEvent
  2. Event-Daten/Extraktion:
    • calledNumber $.callListEntry.calledNumber
    • result $.callListEntry.result
    • callerName $.callListEntry.callDescription
    • callerNumber $.callListEntry.callerNumber
    • answeredBy $.callListEntry.answeredBy
    • duration $.callListEntry.duration
  3. Bedingung: result == "ANSWERED" && calledNumber == "12345"
  4. Aktion: Webhook / HTTP-POST-Request
    URL: https://... (die Webhook-URL aus Ihrem Teams-Workflow)
    Header:
    Content-Type: application/json
    Body:
{
"text": "Anruf von {{callerName}}\nAnrufer: {{callerName}} ({{callerNumber}})\nAngerufene Rufnummer: {{calledNumber}}\nAngenommen von: {{answeredBy}}\nGesprächsdauer: {{duration}} Sekunden"
}
de.starface.bo.events.NewCallListEntryEvent
calledNumber
$.callListEntry.calledNumber
result
$.callListEntry.result
callerName
$.callListEntry.callDescription
callerNumber
$.callListEntry.callerNumber
answeredBy
$.callListEntry.answeredBy
duration
$.callListEntry.duration
result == "ANSWERED" && calledNumber == "12345"
text: Anruf von {{callerName}}

Hinweise zu Microsoft Teams

Die Nachricht wird an den Kanal gesendet, für den der Workflow bzw. Webhook erstellt wurde. Passen Sie den Nachrichtentext im JSON-Body nach Bedarf an Ihren gewünschten Teams-Beitrag an.